//
//  RemoteButtons.h
//  touchpadpro
//
//  Created by Jahanzeb Sherwani on 03/20/08.
//  Copyright 2008 __MyCompanyName__. All rights reserved.
//

#import <Foundation/Foundation.h>

typedef enum
{
	kWhite = 0,
	kBlack = 1,
	kSpecial = 2
} RemoteButtonImageType;

@interface RemoteButton : NSObject
{
	id control;
	NSString *title;
	int row;
	int col;
	int page;
	int imageType;
	NSString *keyAlias;
	NSString *keyReleaseAlias;
}
- (id)initWithPage:(int)Page Row:(int)Row Col:(int)Col ImageType:(int)ImageType Title:(NSString*)Title KeyAlias:(NSString*)KeyAlias;
- (id)initWithPage:(int)Page Row:(int)Row Col:(int)Col ImageType:(int)ImageType Title:(NSString*)Title KeyAlias:(NSString*)KeyAlias KeyReleaseAlias:(NSString*)KeyReleaseAlias;
- (void)setPage:(int)Page Row:(int)Row Col:(int)Col;
- (void)setKeyAlias:(NSString *)KeyAlias;
- (void)setTitle:(NSString*) Title;
- (void)setControl:(id)Control;
- (id)getControl;
- (NSString *)getTitle;
- (NSString *)getKeyAlias;
- (NSString *)getKeyReleaseAlias;
- (int)getPage;
- (int)getRow;
- (int)getCol;
- (int)getImageType;
- (NSString *)getImage;
@end

@interface RemoteButtons : NSObject
{
	bool isMediaConnected;
	NSMutableArray *buttonsArray;
	int totalPages;
	int totalRowsInPage[10];
	int totalColsInPage[10];
}

- (id)initWithMediaConnection: (bool)isConnected;
- (void)dealloc;
- (void)addButton: (RemoteButton*) button;
- (NSArray *)getButtonsArray;
- (RemoteButton*)getButtonByControl:(id)control;
- (RemoteButton*)getButtonByTitle:(NSString *)title;
- (RemoteButton*)getButtonByPage:(int)page Row:(int)row Col:(int)col;
- (int) getTotalPages;
- (int) getTotalRowsInPage:(int)Page;
- (int) getTotalColsInPage:(int)Page;
- (void) initButtons;

@end
